#ifndef OBJET_H
#define OBJET_H

#include "Intersection.h"
#include "Couleur.h"
#include "Matrice.h"
#include "Rayon.h"
#include "ProprietesObjet.h"
#include "Texture.h"
#include "BoiteEnglobante.h"

class Objet:public Texture
{
protected:
	Intersection inter;
	Couleur couleur;
	Matrice repere;
	ProprietesObjet proprietes;
	BoiteEnglobante b;


public:
	Objet();
	Objet(Intersection intersection, Couleur c, Matrice m, ProprietesObjet p);
	Objet(Objet const& objet);
	~Objet();

	Intersection getIntersection();
	Couleur getCouleur();
	Matrice getMatrice();
	ProprietesObjet getProprietes();
	BoiteEnglobante getBoiteEnglobante();

	void setIntersection(Intersection inter);
	void setCouleur(Couleur couleur);
	void setRepere(Matrice repere);
	void setProprietes(ProprietesObjet p);
	void setBoiteEnglobante(BoiteEnglobante b);

	virtual bool intersection(Rayon r);
	virtual BoiteEnglobante getBoite();
	virtual bool aBoite();

};

#endif